Previous: Running Tests in Batch Mode, Up: How to Run Tests [Contents]
Functions like ert accept a test
selector, a Lisp expression specifying a set of tests. Test
selector syntax is similar to Common Lisp’s type specifier
syntax:
nil selects no tests.t selects all tests.:new selects all tests that have not been run
yet.:failed and :passed select tests
according to their most recent result.:expected, :unexpected select
tests according to their most recent result.ert-test data type)
selects that test.(member TESTS...) selects the elements of
TESTS, a list of tests or symbols naming tests.(eql TEST) selects TEST, a test or a symbol
naming a test.(and SELECTORS...) selects the tests that
match all SELECTORS.(or SELECTORS...) selects the tests that match
any SELECTOR.(not SELECTOR) selects all tests that do not
match SELECTOR.(tag TAG) selects all tests that have TAG on
their tags list. (Tags are optional labels you can apply to
tests when you define them.)(satisfies PREDICATE) selects all tests that
satisfy PREDICATE, a function that takes a test as argument and
returns non-nil if it is selected.Selectors that are frequently useful when selecting tests to
run include t to run all tests that are currently
defined in Emacs, "^foo-" to run all tests in
package foo (this assumes that package
foo uses the prefix foo- for its test
names), result-based selectors such as (or :new
:unexpected) to run all tests that have either not run yet
or that had an unexpected result in the last run, and tag-based
selectors such as (not (tag :causes-redisplay)) to
run all tests that are not tagged
:causes-redisplay.
Previous: Running Tests in Batch Mode, Up: How to Run Tests [Contents]